הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים

Size: px
Start display at page:

Download "הוראות לנבחן סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. גמר לבתי ספר לטכנאים ולהנדסאים"

Transcription

1 גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשע"ב, 2012 מועד הבחינה: משרד החינוך סמל השאלון: תכנות מערכות בשפת C ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח ההערכה: בשאלון זה שני נושאים: תכנות מערכות בשפת C ושפת סף ובהם שמונה שאלות. עליך לענות על שש שאלות, על פי ההנחיות בכל פרק. בשני הנושאים בסך הכול 100 נקודות. ג. חומר עזר מותר לשימוש: כל חומר עזר כתוב בכתב יד או מודפס על נייר. ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות הן לנבחנות והן לנבחנים. בהצלחה! בשאלון זה 38 עמודים.

2 - 2 - השאלות נושא א': תכנות מערכות בשפת )50 C נקודות( פרק ראשון )24 נקודות( ענה על שאלה 1 )סעיפים א' ח'( שאלת חובה. שאלה 1 ביום ספורט שמתקיים בבית הספר מופעלות K תחנות שונות הממוספרות בין 0 ל K 1 )כולל(. ביום הזה משתתפות G קבוצות הממוספרות בין 0 ל G 1 )כולל(. בכל קבוצה 10 תלמידים.. K > G וידועים מראש, כאשר < 0 קבועים ו G K כל קבוצה עוברת בכל התחנות. התלמידים בכל אחת מן הקבוצות עוברים יחד מתחנה אחת לתחנה אחרת. בכל תחנה, כל אחד ממשתתפי הקבוצה מבצע מטלה ועליה הוא מקבל ציון בתחום שבין 0 ל 15 )כולל(. כל תחנה היא בעלת משקל קבוע וידוע מראש בתחום שבין 0 ל 1 )לא כולל 0 ו 1 (. סכום המשקלים בעבור כל התחנות הוא 1. הציון של קבוצה בתחנה כלשהי הוא ממוצע הציונים של כל חברי הקבוצה בתחנה זו, מוכפל במשקל התחנה. הציון הכולל של קבוצה הוא סכום ציוניה בכל K התחנות. בסיום יום הספורט מתפרסמת טבלה הכוללת את כל הקבוצות הממוינת בסדר יורד, על פי הציונים הכוללים )הניחו שאין שתי קבוצות שקיבלו ציון כולל זהה(. הערות: תחנה תיקרא תחנה פנויה אם אף אחת מהקבוצות לא נמצאת בה. קבוצה תיקרא קבוצה פנויה אם היא לא משובצת לתחנה כלשהי. המשך בעמוד 3

3 - 3 - להלן ייצוג של טיפוס הנתונים יום ספורט: יום ספורט הוא מבנה )רשומה( המכיל: מונה קבוצות, שהנו משתנה מטיפוס שלם (int) אשר מונה את מספר הקבוצות שסיימו לעבור בכל התחנות )ערך השווה ל G ייתן אינדיקציה שיום הספורט הסתיים(; מערך משקלים בגודל K שכל איבר בו מטיפוס ממשי )float( המכיל את משקלי התחנות )קבועים וידועים מראש(; מערך תחנות בגודל K שכל איבר בו הוא מטיפוס תחנה )יפורט בהמשך(; מערך קבוצות בגודל G שכל איבר בו הוא מטיפוס קבוצה )יפורט בהמשך(; להלן הגדרות והכרזות בשפת C של טיפוס הנתונים יום ספורט: #define K 15 // Number of stations #define G 12 // Number of groups #define N 10 // Number of students in each group; #define MAXGRADE 15 // Maximum grade typedef enum FALSE,TRUE boolean; טיפוס יום ספורט // sportdaytype typedef struct int passedgroups; float weights[k]; station stations[k]; group groups[g]; מונה קבוצות // מערך משקלים // מערך תחנות // מערך קבוצות // sportday,*dayptr; המשך בעמוד 4

4 - 4 - להלן הגדרה בשפת C של המבנה )רשומה( תחנה: טיפוס תחנה // stationtype typedef struct int currentgroup; int passed; int acumulatedgrade; boolean idle; אם התחנה פנויה, המשתנה יכיל ערך )1 (. אחרת יכיל את // מספר הקבוצה שנמצאת בתחנה זו // מספר התלמידים מהקבוצה שנמצאת בתחנה זו אשר סיימו את // מטלותיהם // צובר את ציוני כל התלמידים שסיימו את מטלותיהם בתחנה זו // השייכים לקבוצה שנמצאת בתחנה זה עתה // יכיל ערך "אמת" אם התחנה פנויה, ולא יכיל את הערך "שקר" // station; להלן הגדרה בשפת C של המבנה )רשומה( קבוצה: typedef struct grouptype טיפוס קבוצה // int groupno; float averagegroupgrade; int currentstation; מספר קבוצה // ציון כולל של הקבוצה // מספר התחנה שבה נמצאת הקבוצה // תא i במערך זה יכיל את הערך "אמת" אם הקבוצה // stationspassed[k]; boolean ביקרה בתחנה ה i ולא יכיל את הערך "שקר" // boolean busy; יכיל ערך "שקר" אם הקבוצה פנויה, ולא יכיל את הערך "אמת" // group,*groupptr; בתכנית מוגדר המשתנה הגלובלי שלהלן: sportday D; המשך בעמוד 5

5 - 5 - void init(void) int i,j; להלן הפעולה אתחל_יום_ספורט )init( אשר מתבצעת בפתיחת יום הספורט: D.weights[ ] =0.045,0.1,0.2,0.05,0.15,0.05,0.08,0.1,0.04,0.03, 0.015,0.05,0.05,0.02,0.07; D.passedGroups = 0; for (i=0;i < G ;i++ ) D.groups[i].groupNo = i; D.groups[i].averageGroupGrade=0; מספר קבוצה // בקבוצה ה i משובצת לתחנה ה i D.groups[i].currentStation = ;i // קבוצה ה i לא פנויה כיוון שהיא משובצת בתחנה // TRUE; D.groups[i].busy = for(j=0;j < K;j++) תלמידי הקבוצה לא סיימו // FALSE; D.groups[i].stationsPassed[j] = את מטלתם בתחנה ה j // בתחנה i נמצאת קבוצה D.stations[i].currentGroup = i; // i D.stations[i].passed = 0; D.stations[i].acumulatedGrade = 0; D.stations[i].idle = FALSE; תחנה ה i לא פנויה כי קבוצה i נמצאת בה // טיפול בתחנות שעדיין לא שובצו בהן קבוצות // for(j = G;j < K;j++) D.stations[j].currentGroup = -1; D.stations[j]. passed = 0; D.stations[j].acumulatedGrade = 0; D.stations[j].idle = TRUE; המשך בעמוד 6

6 - 6 - נתונה ספרייה לטיפוס הנתונים יום ספורט המכילה את הפעולות האלה: אתחל_יום_ספורט)( הפעולה תיעוד פעולה המאתחלת את יום הספורט. void init(void) האם_תחנה_פנויה? )stationno( boolean isstationidle(int stationno) הפעולה מקבלת את מספר התחנה,stationNo ומחזירה ערך "אמת" אם התחנה stationno פנויה; אחרת היא מחזירה את הערך "שקר". הנחה: stationno < K 0 boolean isfree(int groupno) האם_קבוצה_פנויה? (groupno) הפעולה מקבלת את מספר הקבוצה,groupNo ומחזירה ערך "אמת" אם הקבוצה groupno פנויה; אחרת היא מחזירה את הערך "שקר". הנחה: groupno < G 0 עדכן_תחנה_למצב_פנוי (stationno) void updateidlestation(int stationno) הפעולה מקבלת את מספר התחנה,stationNo ומעדכנת את התחנה stationno למצב פנוי. הנחה: stationno < K 0 עדכן_קבוצה_למצב_פנוי )groupno( void freegroup(int groupno) הפעולה מקבלת את מספר הקבוצה,groupNo ומעדכנת את הקבוצה groupno למצב פנוי. הנחה: groupno < G 0 הוסף_ציון_לתחנה grade( )stationno, void acumulategradeinstation (int stationno,int grade) הפעולה מקבלת את מספר התחנה stationno ואת הציון,grade ומוסיפה את הציון grade לתחנה.stationNo הנחה: stationno < K 0 int incresestationspassed (int groupno, int stationno) עדכן_קבוצה_סיימה-תחנה )int groupno, int stationno( הפעולה מקבלת את מספר הקבוצה groupno ואת מספר התחנה stationno וקובעת שקבוצה.stationNo ביקרה בתחנה groupno קבוצה_סיימה_תחנה? )stationno( boolean grouppassed(int stationno) הפעולה מקבלת את מספר התחנה,stationNo ומחזירה ערך "אמת" אם כל חברי הקבוצה שנמצאת בתחנה stationno סיימו את מטלותיהם בתחנה זו; אחרת היא מחזירה את הערך "שקר". הנחה: stationno < K 0 המשך בעמוד 7

7 - 7 - הפעולה מקבלת את מספר התחנה stationno ואת מספר הקבוצה,groupNo ומכניסה את קבוצה groupno לתחנה.stationNo הכנס_קבוצה_לתחנה groupno( )stationno, void insertgroup(int stationno,int groupno) הנחה: stationno < k, 0 groupno < G 0 הוסף_ציון_לקבוצה groupno( )stationno, void addgradetogroup(int stationno,int groupno) הוסף_קבוצה_למונה_הקבוצות_שסיימו)( הפעולה מקבלת את מספר התחנה stationno ואת מספר הקבוצה,groupNo שכל תלמידיה סיימו זה עתה את מטלתם בתחנה.stationNo הפעולה מחשבת את הציון המשוקלל של התחנה stationno ומוסיפה אותו לציון הכולל של הקבוצה.groupNo הנחה: groupno < G, 0 stationno < K 0 void updatepassedgroups(void) החזר_קבוצה_בתחנה )stationno( int currentgroupinstation(int stationno) הפעולה מוסיפה 1 למונה הקבוצות בעבור קבוצות שסיימו את כל התחנות. הפעולה מקבלת את מספר התחנה,stationNo ומחזירה את מספר הקבוצה הנמצאת בה. אם התחנה פנויה, אז הפעולה מחזירה 1-. הנחה: stationno < K 0 מצא_קבוצה_פנויה_לתחנה )stationno( int findnextgrouptoenter(int stationno) הפעולה מקבלת את מספר התחנה,stationNo ומחזירה את מספר הקבוצה הפנויה שצריכה להיכנס לתחנה.stationNo אם לא קיימת קבוצה פנויה, אז הפעולה מחזירה 1-. הנחה: stationno < K 0 מצא_התחנה_הבאה_של_קבוצה )groupno( int findnextstationtoenter(int groupno) הפעולה מקבלת את מספר הקבוצה,groupNo ומחזירה את מספר התחנה הפנויה שבה עדיין לא ביקרה הקבוצה.groupNo אם לא קיימת תחנה כזו, אז הפעולה מחזירה 1-. הנחה: groupno < G 0 הקבוצה_סיימה_את_כל_התחנות? )groupno( boolean grouppassedall(int groupno) הפעולה מקבלת את מספר הקבוצה,groupNo ומחזירה ערך "אמת" אם הקבוצה סיימה את כל התחנות; אחרת היא מחזירה את הערך "שקר". הנחה: groupno < G 0 boolean EndOfDay(void) סוף_יום_ספורט )( הפעולה מחזירה את הערך "אמת" אם כל הקבוצות סיימו את כל התחנות; אחרת היא מחזירה את הערך "שקר". המשך בעמוד 8

8 - 8 - שים לב: הנח כי הפעולות בספרייה הנתונה כבר כתובות וניתן להשתמש בהן בכל הסעיפים הבאים. חלק מהפעולות שבספרייה זו ימומשו בסעיפים א'-ז' שלהלן. כדי לענות על הסעיפים א' ז' שלהלן השתמש בפעולות המצוינות בלועזית שבספרייה לטיפוס הנתונים יום ספורט. א. לפניך מימוש של הפונקציה groupno) void insertgroup(int stationno,int בפונקציה חסרים ארבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (4), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. void insertgroup(int stationno,int groupno) D.stations[stationNo].currentGroup = (1) ; D.stations[stationNo].passed = 0; D.stations[stationNo].acumulatedGrade = 0; D.stations[stationNo].idle = (2) ; (3) = TRUE; טיפול בקבוצה // (4) = stationno; המשך בעמוד 9

9 - 9 - ב. לפניך מימוש של הפונקציה void addgradetogroup (int stationno,int groupno) בפונקציה חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (3), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. void addgradetogroup(int groupno,int stationno) int grade; float gradef; grade = (1) ; gradef = (float)(grade * (2) ); (3) += gradef / N; ג. לפניך מימוש של הפונקציה.void increasestationspassed(int groupno,int stationno) בפונקציה חסר ביטוי אחד, המסומן במספר בין סוגריים עגולים. רשום במחברתך את מספר הביטוי החסר )1(, וכתוב לידו את הביטוי החסר שהוא מייצג. void increasestationspassed(int groupno,int stationno) (1) = TRUE ; המשך בעמוד 10

10 ד. לפניך מימוש של הפונקציה stationno) int findnextgrouptoenter (int בפונקציה חסרים ארבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (4), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. int findnextgrouptoenter(int stationno) int i; boolean visited; int nextgroup = -1; int groupnum; for(i=0;i < G;i++) groupnum = D.groups[i].groupNo; visited = (1) ; if ( (2) &&!visited ) nextgroup = (3) ; (4) ; return nextgroup; המשך בעמוד 11

11 ה. לפניך מימוש של הפונקציה groupno) int findnextstationtoenter (int בפונקציה חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (3), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. int findnextstationtoenter(int groupno) int i; int nextstation = -1; for(i=0;i<k;i++) if ( (1) && (2) ) nextstation = i; break; (3) ; המשך בעמוד 12

12 ו. לפניך מימוש של הפונקציה groupno).boolean grouppassedall (int בפונקציה חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (3), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. boolean grouppassedall(int groupno) boolean status ; int i; for(i=0;i < (1) ;i++) if ( (2) ==FALSE) break; status = (3) ; return status; ז. לפניך מימוש של הפונקציה (void).boolean EndOfDay בפונקציה חסר ביטוי, המסומן במספר בין סוגריים עגולים. רשום במחברתך את מספר הביטוי החסר )1( וכתוב לידו את הביטוי החסר שהוא מייצג. boolean EndOfDay(void) boolean status; status = (1) ; return status; המשך בעמוד 13

13 ח. במהלך יום הספורט, האחראי על יום הספורט מזין את הנתונים למערכת. הנתונים הם זוגות של מספרים שלמים, כאשר בכל זוג נתון המספר הראשון הוא מספר התחנה והמספר השני הוא הציון שקיבל תלמיד כלשהו בתחנה זו. לפניך פונקציה בשם main() לניהול יום ספורט. באלגוריתם חסרים שישה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (6), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. int main() int groupno, stationno, nextstation, nextgroup; int grade; init(); while (!EndOfDay()) printf("\nenter Station Number:"); scanf ("%d", &stationno); printf ("\nenter grade: "); scanf("%d", &grade); groupno=currentgroupinstation(stationno); if(isstationidle(stationno)) continue; acumulategradeinstation(stationno, grade); if (grouppassed(stationno)) (1) ; addgradetogroup (stationno, groupno); המשך בעמוד 14

14 increasestationspassed(groupno, stationno); nextgroup = (2) ; if(nextgroup!= 1) insertgroup (stationno, nextgroup); else (3) ; if(!grouppassedall(groupno)) nextstation = (4) ; if(nextstation!= 1) (5) ; else (6) ; //of while return 0; //of main() המשך בעמוד 15

15 פרק שני )26 נקודות( ענה על שתיים מבין השאלות 4 2 )לכל שאלה 13 נקודות(. שאלה 2 בשאלה זו חמישה סעיפים )א' ה'( שאינם תלויים זה בזה. עליך לענות על כולם. א. רשום במחברתך את הפלט המדויק של התכנית שלהלן. #include <stdio.h> #include <string.h> void func1(char *s,char c); void main() char * name1="abracadabra"; func1(name1,'a'); printf("%s",name1); void func1(char *s,char c) while(*s) if(*s==c) strcpy(s,s+1); else s++; המשך בעמוד 16

16 ב. רשום במחברתך את הפלט המדויק של התכנית שלהלן. #include <stdio.h> #include <string.h> int func2(char *s,int n); void main() int i; char * name3 = "abracadabra"; i = func2(name3,4); printf("%s %d ",name3, i); int func2(char *s,int n) int len; len = strlen(s); if (len < n) return 0; else s[len-n] = '\0'; return 1; המשך בעמוד 17

17 ג. רשום במחברתך את הפלט המדויק של התכנית שלהלן. #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 20 void main() char s[3][n]= "exval","yoram","bacar"; char res[n]= ""; int i,cnt; for(i=0;i<3;i++) strcat(res,&s[i][i+1]); cnt = strlen(res); printf("%s %d",res,cnt); המשך בעמוד 18

18 ד. לפניך תכנית: #include <stdio.h> #include <string.h> void main() char str1[21] ="abcaxa"; char str2[21] ="xabz"; char str3[41]; int i,j,t,length; strcpy(str3,str1); strcat(str3,str2); length = strlen(str3); for(i=0;str3[i]!='\0';i++) for(j=length; j > i;j--) if(str3[j]==str3[i]) for(t=j;t<length;t++) str3[t]=str3[t+1]; printf("the new string is: %s\n",str3); return 0; המשך בעמוד 19

19 רשום במחברתך פלט מדויק של התכנית שלעיל. 2. רשום במחברך את מספרו של ההיגד הנכון מבין ההיגדים הבאים: א. התכנית מוצאת ומדפיסה מחרוזת )str3( המכילה את התווים השייכים ל str1 או ל str2, כך שכל תו ב str3 מופיע פעם אחת בלבד. ב. התכנית מוצאת ומדפיסה מחרוזת )str3( המכילה את התווים השייכים ל str1 וגם ל str2, כך שכל תו ב str3 מופיע פעם אחת בלבד. ג. התכנית מוצאת ומדפיסה מחרוזת )str3( המכילה את התווים השייכים ל str2 אך אינם שייכים ל str1 וכל תו ב str3 מופיע פעם אחת בלבד. ד. התכנית מוצאת ומדפיסה מחרוזת המכילה את התווים השייכים ל str1 אך אינם שייכים ל str2 וכל תו ב str3 מופיע פעם אחת בלבד. #define SM(a,b) (a)*((a)+(b)) ה. רשום במחברתך פלט מדויק של התכנית שלהלן. void main() int x=3,y=4,z; z = SM(x,y); printf("\n\t x=%d \t y=%d \t z =%d ",x,y,z); z=sm(x++,--y); printf("\n\t x=%d \t y=%d \t z =%d ",x,y,z); המשך בעמוד 20

20 שאלה 3 במבחן דרכים השתתפו שש מכוניות הממוספרות בין 0 ל 5 )כולל(. כל מכונית נבחנה בחמש קטגוריות הממוספרות בין 0 ל 4 )כולל( שהן: תאוצה (A), צריכת דלק )B(, בלימת זעזועים )C(, עיצוב פנים )D( ומחיר )E(. 4 לכל קטגוריה j משקל, Pj כאשר 4 j 0 וגם = 100 j P. j= 0 נסמן ב Tij את הציון של המכונית ה i בקטגוריה ה j, כאשר 4 j i 5, 0 0 וגם 100 Tij 0. כל מכונית מקבלת ציון בכל אחת מהקטגוריות, ולבסוף משקללים עבור המכונית את הציון הסופי. 4 Tij Pj j= i= 0 6 T ij הציון הסופי בעבור המכונית ה i לכל 5 i 0 הנו: הציון הממוצע בעבור הקטגוריה ה j לכל 4 j 0, הנו: תוצאות המבחן נרשמו בבסיס נתונים ממוחשב, הכולל את המערכים שלהלן המתבססים על טיפוס הנתונים וההגדרות האלה: #define NUMCARS 6 #define NUMCAT 5 טיפוס קטגוריה // categorytype typedef struct char name[12]; float average ; שם קטגוריה // ציון ממוצע // category,*catptr; המשך בעמוד 21

21 מערך של קטגוריות: category categories[numcat] ; מערך של משקלי הקטגוריות באחוזים: int weights[numcat] = 30,20,25,15,10; דוגמה: אם 25=[2] weights, אזי המשקל של הקטגוריה מס' 2 הוא 25 אחוז. מערך דו ממדי שבו נרשמו הציונים בקטגוריות השונות בעבור המכוניות השונות: int testarr[numcars][numcat] = 7,8,7,7,6, 5,8,9,9,4, 8,8,8,8,8, 9,8,8,9,8, 7,7,8,8,7, 5,5,5,5,5; לדוגמה: אם = 8 [4][2] testarr, אז בקטגוריה מס' 4 קיבלה מכונית מס' 2 את הציון 8. מערך בשם: int bestqualities[numcat]; המכיל את מספרי המכוניות כאשר bestqualities[j] - מכיל את מספר המכונית שהציון שלה הוא הגבוה ביותר בקטגוריה ה j לכל 4 j 0. מערך בשם: float cargrades[numcars]; של ציונים סופיים בעבור המכוניות, כאשר - cargrades[i] יכיל את הציון הסופי של המכונית ה i לכל 5 i 0. מערך בשם: המכיל את שמות הקטגוריות. char *catnames[numcat] = "A","B","C","D","E" מערך המכיל את שמות המכוניות: char *names[numcars]="ford","kia","opel","nissan","toyota","skoda" ; המשך בעמוד 22

22 א. לפניך קטע קוד אשר מדפיס את פרטי כל הקטגוריות הממוינים בסדר עולה לפי הציון הממוצע שלהן. בקטע הקוד מזמנים פונקציה בשם incmp אשר תפורט לאחר קטע הקוד. בפונקציה חסרים שלושה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (3), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. /* Init categories */ for (j= 0;j < NUMCAT;j++) strcpy(categories[j].name,catnames[j]); categories[j].average = 0; /* averages per category */ for(j=0;j < NUMCAT;j++) for (i=0;i< NUMCARS ;i++) categories[j].average += (float)testarr[i][j]; (1) ; qsort( (2) ); printf("\n Category \t Average "); for (j = 0;j < NUMCAT ; j++) printf(" \n%s \t \t%5.2f",categories[j].name, categories[j]. average); המשך בעמוד 23

23 int intcmp( (3) ) catptr p = v1; catptr q = v2; return ( p->average - q->average) ; ב. לפניך קטע קוד אשר מחשב ציון משוקלל עבור כל מכונית ומאתר את המכונית בעלת הציון הסופי הגבוה ביותר ומדפיס את שמה ואת הציון הסופי שלה )הנח שקיימת מכונית אחת כזו(. בפונקציה חסרים ארבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (4), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. /*Calculate grades * / for(i=0;i < NUMCARS;i++) for (j=0;j < NUMCAT;j++) cargrades[i] += (1) ; cargrades[i] /= 100; /* best Car*/ bestcar = 0; for(i=1;i < NUMCARS;i++) bestcar= (2)? i:bestcar; printf("\n\nthe best car is %s with grade %5.2f", (3), (4) ); המשך בעמוד 24

24 ג. לפניך קטע קוד אשר מדפיס לכל קטגוריה את שמה ואת שם המכונית שקיבלה בקטגוריה זו את הציון הגבוה ביותר )הנח שקיימת מכונית אחת בלבד בעלת הציון הגבוה ביותר בכל קטגוריה(. בפונקציה חסרים ארבעה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברת הבחינה את מספרי הביטויים החסרים (1) (4), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. for(j=0;j < NUMCAT;j++) bestq =0; for (i=1;i< (1) ;i++) bestq = (testarr[i][j] > (2) )? i:bestq; (3) ; for (j=0;j < NUMCAT;j++) printf("\n\n Best quailty %s has the Car %s ", categories[j].name, (4) ); getchar(); return 0 ; המשך בעמוד 25

25 שאלה 4 בשאלה זו שלושה סעיפים, א'-ג', שאינם תלויים זה בזה. עליך לענות על כולם. א. לפניך קטע קוד בשפת C אשר מניח את קיומה של רשימה מקושרת חד כיוונית שלראשה מצביע.head #include <stdio.h> #include <stdlib.h> #define N 4 טיפוס צומת ברשימה מקושרת חד כיוונית // eivartype typedef struct int num; struct eivartype *next; eivar,*eivarptr; eivarptr clist(eivarptr head,int n); void main() eivarptr head=null; eivarptr newhead,iptr; eivarptr p; int innum; printf("\n The Original List is :\n"); for(iptr = head; iptr!= NULL; iptr = iptr->next) printf("%d ",iptr->num); newhead = clist(head,n); printf("\n The New List is : \n"); for(iptr=newhead;iptr!=null;iptr = iptr->next) printf("%d :",iptr->num); getchar(); return 0; המשך בעמוד 26

26 eivarptr clist(eivarptr head,int n) eivarptr prev,p,newhead,end; int i; prev = head; p = head; if (n==1) return head; for(i=1;i < n;i++) prev = p; p = p->next; if(p==null) return head; for(end = head; end->next!= NULL;end = end->next); newhead = p; prev->next = NULL; end->next = head; return newhead; 1. רשום במחברתך את הפלט המדויק של התכנית שלעיל בעבור הרשימה שלהלן: head איור לשאלה 4 א' המשך בעמוד 27

27 להלן היגדים העוסקים בפונקציה n). eivarptr clist (eivarptr head,int רשום במחברתך את מספרו של ההיגד הנכון מבין ההיגדים הבאים: א. הפונקציה מעבירה את 1 n האיברים האחרונים לראש הרשימה באותו הסדר שבו היו ברשימה הנתונה. ב. הפונקציה יוצרת מהרשימה הנתונה רשימה מעגלית. ג. הפונקציה מעבירה את 1 n האיברים הראשונים לסוף הרשימה באותו הסדר שבו היו ברשימה הנתונה. ד. הפונקציה מעבירה את מחצית אברי הרשימה הנתונה לסוף הרשימה. ב. לפניך הפונקציה הבאה: טיפוס צומת ברשימה מקושרת חד כיוונית // nodetype typedef struct int key; struct nodetype *next; node,*nodeptr; nodeptr TR7 (nodeptr list) nodeptr pev = NULL; nodeptr p=list,q; המשך בעמוד 28

28 while (p) q = p->next; p->next = pev; pev = p; p = q; return pev; להלן היגדים העוסקים בפונקציה list).nodeptr TR7 (node'ptr רשום במחברתך את מספרו של ההיגד הנכון מבין ההיגדים הבאים. 1. הפונקציה הופכת את הרשימה לרשימה מעגלית חד כיוונית. 2. הפונקציה יוצרת באופן כללי שתי רשימות נפרדות כך שאחת מהן תכיל איבר אחד והשנייה תכיל את יתר האיברים. 3. הפונקציה ממיינת את איברי הרשימה הנתונה. 4. הפונקציה הופכת את סדר האיברים ברשימה הנתונה כך שהאיבר הראשון ברשימה ימוקם אחרון בה, והאיבר האחרון ברשימה ימוקם ראשון בה, וכן הלאה. ג. לפניך פונקציה המקבלת מערך A של מספרים שלמים חיוביים. הפונקציה מחזירה מערך דינמי חדש המכיל את איברי המערך A ובו כל איבר מופיע פעם אחת בלבד. המערך הדינמי יסתיים בזקיף,EON לדוגמה: עבור המערך A הבא: int A[ ] = 1,1,4,2,2,1,2,3,4,2,1,3 הפונקציה תחזיר מערך דינמי חדש המכיל את המספרים: 1, 4, 2, 3 בלבד ולאחריהם הזקיף.EON המשך בעמוד 29

29 בפונקציה חסרים חמישה ביטויים, המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (5), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. #define EON -1 int *func(const int A[ ],int n) int i,j,flag, *parr = NULL, size=1; for(i = 0;i < n; i++) flag = 0; for(j=0; j < (1) ;j++) if( (2) ) flag = 1; ' if(!flag) break; parr = (int*)realloc (parr, (3) ); if (!parr) printf("\nnot anough memory"); exit(1); (4) ; (5) ; parr [size-2]= A[i]; המשך בעמוד 30

30 נושא ב': שפת סף )50 נקודות( פרק שלישי )20 נקודות( ענה על שאלה 5 שאלת חובה. שאלה 5 בשאלה זו שני סעיפים שאינם תלויים זה בזה. ענה על כולם. א. לפניך חלק מסגמנט הנתונים: DATA SEGMENT ARR DD 10 DUP(?) MSG DB 'HAVE A NICE DAY$' ADR DD MSG1 DATA ENDS DATA1 SEGMENT MA DB 40 DUP(?) MSG1 DB 'KEEP SMILING$' DATA1 ENDS נתון כי הכתובת הפיזית של DATA SEGMENT היא.18AB0H לפניך שש שאלות ולכל שאלה עליך לתת את התשובה המבוקשת בבסיס 16 )בסיס הקסאדצימלי(. 1. מהו ההיסט של?MSG 2. מהו ההיסט של?MSG1 3. מהו התוכן של הבית שהיסטו?ADR 4. מהו התוכן של הבית שהיסטו + 1?ADR 5. מהו התוכן של הבית שהיסטו + 2?ADR 6. מהו התוכן של הבית שהיסטו + 3?ADR המשך בעמוד 31

31 ב. לפניך תכנית: DATA SEGMENT ARR DB 40 DUP(?) MSG DB 'HAVE A NICE DAY$' ADR DD MSG1 DATA ENDS DATA1 SEGMENT MA DB 40 DUP(?) MSG1 DB 'KEEP SMILING$' DATA1 ENDS SSEG SEGMENT STACK 'STACK' DB 100H DUP(?) SSEG ENDS CODE SEGMENT ASSUME CS: CODE,DS:DATA START: MOV AX,18ABH CODE ENDS MOV DS,AX LEA DX,MSG ; (*) MOV AH,9 INT 21H MOV AH,4CH INT 21H 1. מהו הטקסט שיוקרן על הצג בתום ביצוע התכנית? 2. אם נחליף את הפקודה המסומנת ב (*) ב MSG1, MOV DX,OFFSET מה יהיה הטקסט שיוקרן על הצג בתום ביצוע התכנית? המשך בעמוד 32

32 פרק רביעי )30 נקודות( ענה על שתיים מבין השאלות 6 8 )לכל שאלה 15 נקודות(. שאלה 6 לפניך תכנית אשר בודקת אם סכום הספרות העשרוניות הזוגיות ב NUM שווה לסכום הספרות העשרוניות האי זוגיות ב NUM. אם כן, אז התכנית מציבה באוגר BL את הערך ; 0 אם לא היא מציבה באוגר BL ערך השונה מ 0. דוגמה: בעבור המספר התכנית תציב באוגר BL את הערך 0 כי סכום הספרות העשרוניות האי זוגיות 5) (7 + שווה לסכום הספרות העשרוניות הזוגיות 6( ) M EQU 1 DATA SEGMENT DATA ENDS NUM DW SSEG SEGMENT STACK 'STACK' התכנית נעזרת בשגרה רקורסיבית בשם. RECUR DB 100 DUP() SSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR BX,BX ;BL- sum of even BH sum of odd digitals MOV CX, (1) PUSH NUM CALL RECUR XOR BL,BH ;if BL = BH then BL=0,else BL!= 0 המשך בעמוד 33

33 MOV AH,4CH INT 21H RECUR: PUSH BP MOV BP,SP MOV AX,[BP+4] XOR DX,DX DIV CX ; (*) (2) DL,M JNZ ODD ADD (3),DL (4) ODD: NEXT: ADD (5),DL (6) CMP AX,0 JE RE_SOF (7) CALL RECUR E_SOF: POP BP RET 2 CODE ENDS א. בתכנית הנתונה חסרים שבעה ביטויים המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (7), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. ב. אם נחליף את השורה DIV CX המסומנת ב )*( בשורה CL,DIV האם שינוי זה יכול להשפיע על הערך המחוזר באוגר?BL ענה "כן" או "לא". המשך בעמוד 34

34 שאלה 7 נתונה רשימה מקושרת לא ריקה הבנויה מצמתים. כל צומת ברשימה מכיל את שני השדות האלה: info שדה מידע )אינפורמציה(, שגודלו 8 ביטים, המכיל תו. next מצביע אל הצומת הבא ברשימה, שגודלו מילה )16 ביטים(. המצביע next בצומת האחרון הוא 0. נוסף על כך, נתון כי המשתנה LIST מכיל את הכתובת של הצומת הראשון ברשימה )ראה איור(, והמשתנה TAV מכיל תו כלשהו. LIST a a b c a d d a איור א' לשאלה 7 לפניך קטע תכנית אשר מוחק ברשימה, שלראשה מצביע,LIST את כל הצמתים ששדה המידע.TAV שלהם מכיל את התו הזהה לתו שבמשתנה (info) דוגמה: בעבור הרשימה הבאה: LIST a a b c a d d a איור ב' לשאלה 7 המשך בעמוד 35

35 אם ה TAV מכיל אות התו 'a', אזי LIST יצביע לראש הרשימה הבאה: LIST b c d d איור ג' לשאלה 7 SSEG SEGMENT STACK 'STACK' DB 100 DUP() SSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX PUSH LIST_ADDR PUSH TAV CALL SCAN POP LIST_ADDR MOV AH,4CH INT 21H SCAN: PUSH BP MOV BP,SP MOV AL,[BP+4] ; AL=TAV MOV BX,[BP+6] ; BX points to List FIRST_LOOP: CMP [BX],AL JNE SECOND_LOOP ; first node's info field!= TAV המשך בעמוד 36

36 MOV BX, (1) ; remove this node from List MOV (2),BX ; update List's address CMP BX,0 JE FINISH JMP FIRST_LOOP SECOND_LOOP: CMP WORD PTR [BX+1],0 JE FINISH MOV DI, (3) ; DI points to next node AG: CMP [DI],AL JNE NEXT_NODE MOV DI, (4) ; remove this node MOV (5),DI CMP DI,0 JE FINISH JMP AG NEXT_NODE: MOV BX, (6) MOV DI,[DI+1] (7) ; is this the List's END? JE FINISH (8) FINISH: POP BP ; (*) RET (9) CODE ENDS END START המשך בעמוד 37

37 א. בתכנית הנתונה חסרים תשעה ביטויים המסומנים במספרים בין סוגריים עגולים. רשום במחברתך את מספרי הביטויים החסרים (1) (9), בסדר עולה, וכתוב ליד כל מספר את הביטוי החסר שהוא מייצג. ב. אם נשמיט את הפקודה POP BP המסומנת ב )*(, האם ישתנו ביצועי התכנית? ענה "כן" או "לא". שאלה 8 בשאלה זו חמישה סעיפים שאינם תלויים זה בזה. ענה על כולם. א. לפניך קטע קוד: MOV CL, 2 PUSH AX SHL AX, CL POP BX ADD AX, BX לפני ביצוע קטע הקוד נתון ש 42H AX = ו 05H. DL = רשום במחברתך פקודה אחת המחליפה את הפקודות הנתונות שבקטע הקוד הנתון. ב. לפניך קטע קוד אשר מחליף בין הסיביות 7 ו 0 בלבד בנתון הנמצא ב AX : MOV M,81H TEST AL,M JP SOF (1) בקטע הקוד הנתון חסר ביטוי אחד, המסומן ב-) 1 ( רשום במחברתך את מספר הביטוי החסר )1( וכתוב לידו את הביטוי החסר שהוא מייצג. SOF: המשך בעמוד 38

38 ג. לפניך קטע קוד: לפני ביצוע קטע הקוד נתון ש 0DBH. AL = 1. מה יכיל האוגר AL אחרי ביצוע קטע הקוד? תן תשובתך בבסיס 16 )בסיס הקסאדצימלי(. MOV CX,2 SHR AL,1 SHL AL,CL SHR AL,1 2. רשום במחברתך פקודה לוגית אחת המחליפה את הפקודות הנתונות שבקטע הקוד הנתון. ד. לפניך קטע קוד: לפני ביצוע קטע הקוד נתון ש. AX = 1A2BH MOV CX,8 ROR AX,CL מה יכיל האוגר AX לאחר ביצוע קטע הקוד? תן תשובתך בבסיס 16 )בסיס הקסאדצימלי(. 1. רשום במחברתך פקודה אחת המחליפה את זוג הפקודות. 2. לפניך הקטע הבא: ה. A DW 20 DUP(?) רשום במחברתך פקודה אחת הטוענת לאוגר AX את תוכן המילה הרביעית של. A 1. רשום במחברתך פקודה אחת הטוענת לאוגר AX את כתובת המילה הרביעית של. A 2. בהצלחה! זכות היוצרים שמורה למדינת ישראל. אין להעתיק או לפרסם אלא ברשות משרד החינוך.

הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד.

הוראות לנבחן גמר לבתי ספר לטכנאים ולהנדסאים סמל השאלון: תכנות מערכות ושפת סף ההנחיות בשאלון זה מנוסחות בלשון זכר, אך מכוונות לנבחנות ולנבחנים כאחד. גמר לבתי ספר לטכנאים ולהנדסאים סוג הבחינה: מדינת ישראל אביב תשס"ז, 2007 מועד הבחינה: משרד החינוך 714001 סמל השאלון: תכנות מערכות ושפת סף הוראות לנבחן א. משך הבחינה: ארבע שעות. ב. מבנה השאלון ומפתח ההערכה:

More information

מבוא למדעי המחשב תרגול 13: עצים בינאריים

מבוא למדעי המחשב תרגול 13: עצים בינאריים מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר

More information

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp) הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2

More information

שאלה 1 מהו הפלט של התוכנית הבאה:

שאלה 1 מהו הפלט של התוכנית הבאה: תרגול חזרה שאלה 1 מהו הפלט של התוכנית הבאה: public sttic int wht(int n) { int i; int sum=0; if(n == 0) return 1; for (i=0; i

More information

Exams questions examples

Exams questions examples Exams questions examples 1 Exam example 1. y - x what נק' ( לפניך הפעולה הרקורסיבית מקבלת כפרמטרים שני מספרים שלמים ו 10 )? מה יהיה הפלט כתוצאה מזימון הפעולה what public static int what(int x, int y) if(x

More information

רזח יליגרתו םי יראני ב ם

רזח יליגרתו םי יראני ב ם מבוא למדעי המחשב עצים בינאריים ותרגילי חזרה תרגול 13: עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק )בלי צמתים( או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם שאלה עץ בינארי

More information

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf(bla\n); 8. return 0; 9. } שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא

More information

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:

More information

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num) 1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי

More information

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

פתרון מוצע לבחינת מהט ב_שפת c מועד אביב תשעח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות שאלה מספר 1 התוכנית מגדירה חמישה משתנים שלמים: השלושה הראשונים הם שלושה מצביעים - *s *t,i. j ושלושה נוספים

More information

Engineering Programming A

Engineering Programming A Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]

More information

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כה תשרי תשעח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א' אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

More information

Amortized Analysis, Union-Find,

Amortized Analysis, Union-Find, Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p

More information

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור

More information

Page 1 1 מס' מחברת : מס' ת.ז. : סמסטר א' תשס"ט מועד: א' 16/02/2009 משך הבחינה: שלוש שעות אין להשתמש בחומר עזר בחינה בקורס תכנות ב- C מרצים: אלון לרנר, עופר פסטרנק מתרגלים:

More information

Algorithms. Intro2CS week 5

Algorithms. Intro2CS week 5 Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:

More information

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> } נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע

More information

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:

More information

מבוא לתכנות ב- JAVA מעבדה 2

מבוא לתכנות ב- JAVA מעבדה 2 מבוא לתכנות ב- JAVA מעבדה 2 מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1

More information

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף הפקולטה למדעי המחשב פרופ' גיל ברקת נועם שגב, שרי דואק, רן ברואר, דור כהן הטכניון מכון טכנולוגי לישראל 70.70.07.4 מבוא לתכנות מערכות 024.00 מבחן מועד א' סמסטר חורף 07.207.4 הוראות כלליות משך המבחן: 081

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות

More information

קורס תכנות שיעור שני: שימוש במשתנים,

קורס תכנות שיעור שני: שימוש במשתנים, קורס תכנות שיעור שני: שימוש במשתנים, בקרת זרימה, לולאות 1 נושאי השיעור היום משתנים )variables( טיפוסי משתנים בשפת C הגדרת משתנים השמה למשתנים פעולות על משתנים קליטת ערכים מהמשתמש הדפסה משתנים בקרת זרימה

More information

תרגול 6 רקורסיה ותכנות מונחה עצמים

תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 2017 תרגול 6 רקורסיה ותכנות מונחה עצמים מבוא למדעי המחשב 1 ראינו בהרצאה רקורסיה תכנות מונחה עצמים: מחלקה ואובייקט שדות, בנאים ושיטות מימוש מערך דינאמי של ראשוניים בתרגול היום רקורסיה הדפסת

More information

הפלט אחרי הביצוע של ההוראה :what3(root)

הפלט אחרי הביצוע של ההוראה :what3(root) שאלה )18 1 נקודות( סעיף א. )11 נקודות( הפלט אחרי הביצוע של ההוראה :what3(root) 15 10 20 26 12 18 25 3 28 14 13 סעיף ב. )3 נקודות( הפונקציה what1 מוסיפה את האיבר node בסוף הרשימה ומעדכנת את ראש הרשימה *ph

More information

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1 קורס תכנות שיעור תשיעי: רשימות מקושרות 1 הקצאה דינאמית של מערכים דו-ממדיים )לפחות( שלוש גישות אפשריות:.1 מערך של מערכים מצביעים לתוך מערך "גדול".2 3. מצביע יחיד למערך גדול 2 The Interface 3 (Simple) Usage

More information

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן. מספר : 804042 שם המרצה: תאריך הבחינה: ד"ר גדעון גרדוול, ד"ר אריאלה ריכרדסון 13/02/2013 משך הבחינה )בדקות(: 150 חומר עזר מותר לשימוש: ללא חומר עזר מחשבון: ללא מחשבון מס' תלמיד: מכון: לב/נוה, טל, טל-דעת,

More information

Computer Programming Summer 2017

Computer Programming Summer 2017 Computer Programming Summer 2017 תרגול 6 פונקציות 1 פונקציות פונקציות מאפשרות שימוש בקטעי קוד כקופסה שחורה ללא צורך לדעת את פרטי המימוש )מספיק לדעת מה עושה הפונקציה ולא איך(. למשל: הפונקציה strlen מהתירגול

More information

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף :

עמוד 1 (תאריך ( âùéä ער äìàù בכל השאלות ניתן להניח שהקלט תקין. 100 íåëñ חורף : עמוד 1 מבוא למדעי המחשב מ' 234114 מבוא למדעי המחשב ח' 234117 מבחן מועד א', סמסטר חורף תשס"ב (תאריך ( 29.1.03 שם משפחה שם פרטי מס' סטודנט âùéä ער äìàù 15 1 15 2 16 3 18 4 16 5 20 6 100 íåëñ חומר עזר: אין

More information

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה

More information

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל

שאלות חזרה 2 האוניברסיטה החליטה לפרסם שמות הסטודנטים המצטיינים בקורס שלנו. סטודנט מצטיין הוא סטודנט שקיבל שאלות חזרה שאלה - 3 קבצים נתונים שני קבצים: ) קובץ נתוני הסטודנטים של הקורס שלנו, כל שורה בקובץ מכילה את הפרטים הבאים: תווים - שם הסטודנט - תווים - כתובת - 9 ספרות - מספר ת.ז. - 3 ספרות - קוד מחלקה - 3

More information

Practical Session - Heap

Practical Session - Heap Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node

More information

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו

More information

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה

More information

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator

More information

חוברת תרגילים לתרגול יסודות התכנות

חוברת תרגילים לתרגול יסודות התכנות פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());

More information

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2 מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2 לולאת while 3 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0)

More information

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 14 1 תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo()

else if (p.getinfo().getvotes() < c1.getvotes()) { c1 = p.getinfo() class BigBrother רשימה מועמדים לתחרות // candidates; private List publc void MakeVote(String name) הפעולה מקבלת שם, מוצאת את המתמודד ומוסיף לו הצבעה אחת // Node p = candidates.getfirst();

More information

פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה

פתרון מוצע לבחינה בשפת C של מהט מועד אביב תשעז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה פתרון מוצע לבחינה בשפת C של מה"ט מועד אביב תשע"ז, פברואר 2017 מחבר: מר עסאקלה שאדי, מכללת אורט בראודה שאלה מספר 1 נתונה התכנית הבאה בשפת C: #include #define SUM_OF_3(x,y,z) x+y+z #define AVRG_OF_3(x,y,z)

More information

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: שאלות חזרה למבחן. חשוב: אין להסיק ששאלות אחרות לא יכולות להישאל במבחן, אין להסיק כי נושאים מסויימים בסיליבוס

More information

מבוא למדעי המחשב תירגול 3:

מבוא למדעי המחשב תירגול 3: מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while

More information

מבוא לתכנות ב- JAVA מעבדה 4

מבוא לתכנות ב- JAVA מעבדה 4 מבוא לתכנות ב- JAVA מעבדה 4 מה בתרגול מערכים מחרוזות מערך חד מימדי מערך הוא מבנה המחזיק סדרה של איברים מאותו טיפוס גודל המערך הוא קבוע )נקבע בעת יצירת המערך( הגישה לכל איבר היא באמצעות אינדקס למה לי מערך?

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

Programming for Engineers in Python

Programming for Engineers in Python Programming for Engineers in Python Lecture 9: Sorting, Searching and Time Complexity Analysis Autumn 2011-12 1 Lecture 8: Highlights Design a recursive algorithm by 1. Solving big instances using the

More information

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. Type Inference System The Type Inference System is a Scheme Implementation of the algorithm for Type Checking and Inference

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד

More information

Computer Programming A תרגול 9

Computer Programming A תרגול 9 Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים

More information

Programming in C תרגול 8

Programming in C תרגול 8 Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאת זיכרון דינאמית Malloc free מצביעים תאור הזיכרון של המחשב: ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

תרגילים ופתרונות בשפת - C הסתעפויות

תרגילים ופתרונות בשפת - C הסתעפויות תרגילים ופתרונות בשפת - C הסתעפויות כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית שתקבל מהמשתמש שלושה מספרים, ותציג את הגדול מביניהם על המסך. #include void main() int mis1, mis2, mis3, max; printf("please

More information

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C

קורס תכנות בשיעור הקודם למדנו על רקורסיה שיעור שישי: מערכים פונקציה רקורסיבית שאלה חישוב נוסחאות רקורסיביות בשפת C בשיעור הקודם למדנו על רקורסיה פתרנו את בעיית מגדלי הנוי בעזרת רקורסיה כלומר בעזרת פונקציה שקוראת לעצמה. רקורסיה מאפשרת לנו לפתור בעיה "גדולה" בעזרת פתרון של בעיות "קטנות" המרכיבות אותה. קורס תכנות שיעור

More information

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5 מבוא לתכנות ב- JAVA תרגול 5 Ipc161- practical session 5 מה בתרגול מערכים דו ממדיים )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מערך דו ממדי מערך של מערכים חד ממדיים

More information

3 Dynamic Routing A (RIP and OSPF)

3 Dynamic Routing A (RIP and OSPF) אוניברסיטת בן גוריון בנגב המחלקה להנדסת מערכות תקשורת רשתות תקשורת מחשבים - 2 קורס 37110211 מעבדה בתקשורת מחשבים 3 Dynamic Routing A (RIP and OSPF) בשבוע (29/11/2011) 5 בשבוע (13/12/2011) 7 מעבדה מספר

More information

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose

More information

תור שימושים בעולם התוכנה

תור שימושים בעולם התוכנה מבוא למדעי המחשב הרצאה : Queue, Iterator & Iterable תור מבנה נתונים אבסטרקטי תור שימושים בעולם התוכנה השימושים של תורים בעולם התוכנה מזכירים מאוד תורים במציאות: )VoIP( )YouTube( מקלדת שידור סרט באינטרנט

More information

קורס תכנות שיעור שישי: מחרוזות, מצביעים

קורס תכנות שיעור שישי: מחרוזות, מצביעים קורס תכנות שיעור שישי: מחרוזות, מצביעים מערכים אוסף סדור של משתנים מאותו סוג המשתנים נמצאים ברצף בזיכרון העברת מערך לפונקציה Define רקורסיה במערך מערכים דו מימדיים 2 מחרוזות מהי מחרוזת? רצף של תוים ייצוג

More information

Introduction to Programming in C תרגול 8

Introduction to Programming in C תרגול 8 Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

2. (לדוגמא: יחידת הספריה (my_unit.c. #include "my_unit.c" היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב

2. (לדוגמא: יחידת הספריה (my_unit.c. #include my_unit.c היחידה (חלק ה-.(prototype לדוגמא:. my_unit.h הכותר. הוראת מדעי המחשב, אוניברסיטת תל-אביב 3. יחידת ספריה ופרויקט C ב- יחידת הלימוד "עיצוב תוכנה" עוסקת בנושא הפיתוח והעיצוב של מערכות. חלק מעקרונות הפיתוח הם: תכנון מהפרט אל הכלל, חלוקה למודולים ועבודת צוותים על פי ממשקים ברורים. מערכת אחת יכולה

More information

תוכנה 1 סמסטר א' תשע"א

תוכנה 1 סמסטר א' תשעא General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with

More information

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** *******************************

לאחר הרצת התכנית יופיע בחלון הoutput הפלט הבא: run: ******************************* *****Welcome to Java!***** ******************************* דוגמה 1: public class Hello { 2: public static void main(string[] args) { 3: System.out.println("*******************************"); 4: System.out.println("*******Welcome to Java!********"); 5: System.out.println("*******************************");

More information

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication INTERNAL ASSESSMENT TEST 1 Date : 26/02/2018 Marks: 40 Subject

More information

שאלה 1, סעיף ב )11 נק'(

שאלה 1, סעיף ב )11 נק'( שאלה 1, סעיף א )8 נק'( public static boolean lexlt(string s1, String s2) for (int i=0; i

More information

Practical Session #4 - ADTs: Array, Queue, Stack, Linked List

Practical Session #4 - ADTs: Array, Queue, Stack, Linked List Practical Session #4 - ADTs: Array, Queue, Stack, Linked List Basic Data Structures and Abstract Data Types ADT Array Abstract Data Type A collection of data-storing entities with operations to create,

More information

תרגול מספר 3: מערכים

תרגול מספר 3: מערכים היום בתרגול:.1.2 תרגול מספר 3: מערכים מערך חד-מימדי: מה זה מערך ולמה צריך אותו? איך מגדירים? איך זה נראה בזכרון? דוגמאות לשימוש במערך חד-מימדי השוואה בין משתנה פרימיטיבי למשתנה שאינו פרימיטיבי מערך דו-מימדי:

More information

נוסחאון במיקרו בקר 8051 לכיתה י"ג נוסחאון בשפת ASM 51 מקום למדבקת נבחן אין להעביר את הנוסחאון לנבחן אחר המשך בעמוד 2

נוסחאון במיקרו בקר 8051 לכיתה יג נוסחאון בשפת ASM 51 מקום למדבקת נבחן אין להעביר את הנוסחאון לנבחן אחר המשך בעמוד 2 מדינת ישראל סוג הבחינה: גמר לבתי ספר לטכנאים ולהנדסאים נוסחאון במיקרו בקר 8051 משרד החינוך מועד הבחינה: אביב תשע"א, 2011 נספח לשאלונים: 711921 711911, אין להעביר את הנוסחאון לנבחן אחר מקום למדבקת נבחן

More information

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה

קורס תכנות רשימה מקושרת דוגמה: חיפוש מעבר על רשימה דוגמא: שחרור רשימה מקושרת דוגמא: הוספת אברים שלא בהתחלה רשימה מקושרת רשימה היא אוסף סדור של ערכים פעולות רשימה לעומת מערך קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 3 5 7 9 typedef struct node int data; struct

More information

גירסה

גירסה גירסה 1.00 29.02.2004 לולאות בשפת C מסמך זה הורד מהאתר.http://underwar.livedns.co.il אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש

More information

Practical Session No. 14 Topological sort,amortized Analysis

Practical Session No. 14 Topological sort,amortized Analysis Practical Session No. 14 Topological sort,amortized Analysis Topological- Sort Topological sort Ordering of vertices in a directed acyclic graph (DAG) G=(V,E) such that if there is a path from v to u in

More information

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון. מבוא לתכנות תוכנית ראשונה שעור מס. 1 דרור טובי דר' 1 מבוא לתכנות בשפת ++C C \ שלום!! מרצה ד"ר דרור טובי, drorto@ariel.ac.il שעות קבלה: יום ב, 10-12 טלפון )אריאל( 03 9076547 אתר הקורס: http://www.ariel.ac.il/cs/pf/tdror/courses/cpp

More information

Section 1: C Programming Lab

Section 1: C Programming Lab Course Code : MCSL-017 Course Title : C and Assembly Language Programming (Lab Course) Assignment Number : MCA(1)/015/Assignment/17-18 Maximum Marks : 100 Weightage : 25% Last Dates for Submission : 15th

More information

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h> תכנות בסיסי בשפת C תוכנית ראשונה תוכנית ב - C מורכבת מאוסף פונקציות והגדרות טיפוסים. C איננה שפה object oriented כך שאין בה מושגים של מחלקה ואובייקט. נתחיל בתוכנית הראשונה המסורתית, זו המדפיסה הודעה יחידה

More information

Computer Programming תרגול 6 פונקציות

Computer Programming תרגול 6 פונקציות Computer Programming תרגול 6 פונקציות 1 פונקציות פונקציות מאפשרות שימוש בקטעי קוד כקופסה שחורה ללא צורך לדעת את פרטי המימוש )מספיק לדעת מה עושה הפונקציה ולא איך(. למשל: הפונקציה strlen מהתירגול הקודם.

More information

סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי.

סטודנטים יקרים הפתרונות מוגשים בסרטוני וידאו המלווים בהסבר קולי, כך שאתם רואים את התהליכים בצורה מובנית, שיטתית ופשוטה, ממש כפי שנעשה בשיעור פרטי. סטודנטים יקרים לפניכם ספר תרגילים בקורס ארגון ותכנות המחשב (שפת אסמבלי). הספר הוא חלק מפרויקט חדשני וראשון מסוגו בארץ במקצוע זה, המועבר ברשת האינטרנט.On-line הקורס באתר כולל פתרונות מלאים לספר התרגילים.

More information

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C

מבוא למדעי המחשב הרצאה 2: ראשונים בשפת C מבוא למדעי המחשב צעדים הרצאה 2: ראשונים בשפת C מבוסס על שקפים שנערכו ע"י שי ארצי, גיתית רוקנשטיין ז"ל, איתן אביאור, סאהר אסמיר,מיכאל אלעד, רון קימל ודן רביב. עדכון אחרון: יחיאל קמחי, אוקטובר 2014 תוכנייה

More information

מבוא לתכנות ב- JAVA תרגול 6

מבוא לתכנות ב- JAVA תרגול 6 מבוא לתכנות ב- JAVA תרגול 6 מה בתרגול )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מבוא לפונקציות- שימוש חוזר בקוד נניח שבמהלך תוכנית נדרשתם לחשב את הסכום של המספרים

More information

קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור מרצה: ליאור שפירא liors@post.tau.ac.il אתר שלי: אתר הקורס: שעת קבלה: יום ג' 14-15

More information

מבוא למדעי המחשב תרגול 5: לולאות ומערכים

מבוא למדעי המחשב תרגול 5: לולאות ומערכים מבוא למדעי המחשב תרגול 5: לולאות ומערכים תוכנייה לולאת while, do while, for מערכים מערכים דו ממדיים 2 לולאות 3 תזכורת: לולאת while גוף הלולאה מתבצע שוב ושוב כל עוד התנאי מתקיים int number; scanf( %d, &number);

More information

Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet. Instructor: Tom Mahler

Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet. Instructor: Tom Mahler Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet Instructor: Tom Mahler Course Objective הודעות כלליות מעבר על דף מידע OSI Model Classical 7 layers model IP model Application

More information

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה

More information

תרגול 3 מערכים ופונקציות

תרגול 3 מערכים ופונקציות מבוא למדעי המחשב 2018 תרגול 3 מערכים ופונקציות מערכים מאפשרים עבודה עם מקבצים של נתונים פונקציות מאפשרות אבסטרקציה והאחדה של הקוד ראינו בהרצאה מערכים הצהרה, אתחול, גישה לאיברים במערך יצוג בזיכרון ובטבלת

More information

Summer 2003 Lecture 15 07/03/03

Summer 2003 Lecture 15 07/03/03 Summer 2003 Lecture 15 07/03/03 Initialization of Variables In the C (or C++) programming language any variable definition can have an optional initializer for the variable. How and when the initialization

More information

ASP.Net Web API.

ASP.Net Web API. ASP.Net Web API 1 מה זה? Web API View בלבד ולא Data אותו מממש השרת והוא מחזיר לקליינט API הוא Web API הבקשה והתשובה הן בפרוטוקול Http\Https הקליינטים של Web API יכולים להיות רבים : אפשר להשתמש גם בMVC

More information

Tutorial 10. Introduction to C++ שימו

Tutorial 10. Introduction to C++ שימו Introduction to ++ שימו תרגול זה אינו התרגול הרישמי של הקורס. הוא מבוסס על חוברת התרגולים אך מכיל שינויים, הסברים נוספים ודוגמאות שונות או נוספות. + + תוכנ ית רא שונה ב הכרו ת עם + + תרגול // First ++

More information

Chapter 11.2 Linked lists ( )

Chapter 11.2 Linked lists ( ) Lecture of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds מערכים, מטריצות דלילות, ורשימות מקושרות חומר קריאה לשיעור זה Chapter. Linked lists ( ) Geiger & Itai, מערך מוגדר ע"י הפעולות

More information

תכנות מתקדם בשפת C משתנים

תכנות מתקדם בשפת C משתנים תכנות מתקדם בשפת C משתנים 1 משתנים סוגי משתנים בשפת C ההבדלים בין סוגי המשתנים השונים 2 /* This program computes m to the power of n */ /* Assumptions: m is an integer; n is a positive integer */ #include

More information

תוכנה 1. תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים

תוכנה 1. תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים תוכנה 1 תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי

More information

מבני נתונים תכנות מונחה עצמים מבני נתונים. מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers ADT מערך דינמי מחסנית

מבני נתונים תכנות מונחה עצמים מבני נתונים. מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers ADT מערך דינמי מחסנית מבני נתונים 1 תכנות מונחה עצמים מחלקות אבסטרקטיות חבילות packages סיכום הרשאות גישה wrappers מבני נתונים ADT מערך דינמי מחסנית 2 1 מבני נתונים תור - Queue Iterators רשימות מקושרות "רגילות" 3 מבנה נתונים

More information

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור &

קורס תכנות כתובות בזיכרון כתובות בזכרון מצביעים וכתובות מצביעים וכתובות שיעור שביעי: מבנים, הקצאת זיכרון דינאמית האופרטור & כתובות בזיכרון קורס תכנות int x = 10; char c = a ; 10 784658 'a' 26537 שם x כתובת 784658 שיעור שביעי: מבנים, הקצאת זיכרון דינאמית 26537 c 1 הגדרת מצביע variable( )pointer כתובות בזכרון האופרטור & מחזיר

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר

More information

גיליון תשובות מספר נבחן:

גיליון תשובות מספר נבחן: גיליון תשובות מספר נבחן: 30( שאלה 1 נקודות( א. ב. התכונה הנשמרת מתייחסת אך ורק למיקום המכוניות בצומת, כלומר למיקום המכוניות בשדה _cars הגישה לשדה זה מסונכרנת, אך מצד שני אין בדיקה של מיקום המכונית טרם

More information

Operating Systems. Practical Session 4 Threads

Operating Systems. Practical Session 4 Threads Operating Systems Practical Session 4 Threads 1 Threads Executed within a process. Allow multiple independent executions under the same process (container). Possible states: running, ready, blocked, terminated.

More information

db "Please enter up to 256 characters (press Enter Key to finish): ",0dh,0ah,'$'

db Please enter up to 256 characters (press Enter Key to finish): ,0dh,0ah,'$' PA4 Sample Solution.model large.stack 100h.data msg1 db "This programs scans a string of up to 256 bytes and counts the repetitions of the number 4206 and sums them.",0dh,0ah,'$' msg2 db "Please enter

More information

לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע. פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t)

לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע. פעולה בונה היוצרת לוח מבחנים )ריק(. void Add (Test t) 1 לוח מבחנים מבוסס על דף עבודה ממקור לא ידוע 1. המחלקה מבחן Test מגדירה מבחן לפי תרשים uml הבא: להלן ממשק המחלקה Test תיאור הפעולה פעולה בונה היוצרת מבחן במקצוע subject ובתאריך date פעולה המחזירה מקצוע

More information

Smart Pointers Nir Adar

Smart Pointers Nir Adar 7.1.2005 גירסה 1.00 Smart Pointers מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information